Once Upon an Algorithm: How Stories Explain Computing

Once Upon an Algorithm: How Stories Explain Computing

  • Downloads:3257
  • Type:Epub+TxT+PDF+Mobi
  • Create Date:2022-08-26 09:53:00
  • Update Date:2025-09-07
  • Status:finish
  • Author:Martin Erwig
  • ISBN:0262545292
  • Environment:PC/Android/iPhone/iPad/Kindle

Summary

How Hansel and Gretel, Sherlock Holmes, the movie Groundhog Day, Harry Potter, and other familiar stories illustrate the concepts of computing。

Picture a computer scientist, staring at a screen and clicking away frantically on a keyboard, hacking into a system, or perhaps developing an app。 Now delete that picture。 In Once Upon an Algorithm, Martin Erwig explains computation as something that takes place beyond electronic computers, and computer science as the study of systematic problem solving。 Erwig points out that many daily activities involve problem solving。 Getting up in the morning, for example: You get up, take a shower, get dressed, eat breakfast。 This simple daily routine solves a recurring problem through a series of well-defined steps。 In computer science, such a routine is called an algorithm。

Erwig illustrates a series of concepts in computing with examples from daily life and familiar stories。 Hansel and Gretel, for example, execute an algorithm to get home from the forest。 The movie Groundhog Day illustrates the problem of unsolvability; Sherlock Holmes manipulates data structures when solving a crime; the magic in Harry Potter's world is understood through types and abstraction; and Indiana Jones demonstrates the complexity of searching。 Along the way, Erwig also discusses representations and different ways to organize data; "intractable" problems; language, syntax, and ambiguity; control structures, loops, and the halting problem; different forms of recursion; and rules for finding errors in algorithms。

This engaging book explains computation accessibly and shows its relevance to daily life。 Something to think about next time we execute the algorithm of getting up in the morning。

Download

Reviews

Shari

Dry。 So, so dry。 And as a software developer, I do listen to programming audiobooks somewhat regularly (Code Complete, The Pragmatic Programmer, etc)。 I get the attempt to relate with fables, movies, etc, but it just wasn't as good as I had hoped。 Dry。 So, so dry。 And as a software developer, I do listen to programming audiobooks somewhat regularly (Code Complete, The Pragmatic Programmer, etc)。 I get the attempt to relate with fables, movies, etc, but it just wasn't as good as I had hoped。 。。。more

Pat of Rocks

A fun way to explore basic principles of programming。One of my favorite exercises was in using Groundhog's Day as an example of loops。 Of course the movie is a natural choice, but I like the way the author dove into the logic that was at play。 I wish my college textbooks were more like this book。 A fun way to explore basic principles of programming。One of my favorite exercises was in using Groundhog's Day as an example of loops。 Of course the movie is a natural choice, but I like the way the author dove into the logic that was at play。 I wish my college textbooks were more like this book。 。。。more

Jessica

Having some background already understanding programming logic and design prior to reading this book was helpful。 If I came in with no knowledge, it would've been unreadable。 Some chapters were hilarious and fun, but others felt awful because the metaphors were stretched so far, such as Back to the Future and recursion, that it was a worse way to describe it than just explaining it exactly as it is。 Way simpler!I gave this book 4 stars because I think it is worth the shift in perspective, but no Having some background already understanding programming logic and design prior to reading this book was helpful。 If I came in with no knowledge, it would've been unreadable。 Some chapters were hilarious and fun, but others felt awful because the metaphors were stretched so far, such as Back to the Future and recursion, that it was a worse way to describe it than just explaining it exactly as it is。 Way simpler!I gave this book 4 stars because I think it is worth the shift in perspective, but not five stars because there was incredible redundancy in the book (aside from the jokes about loops and recursion), and there were some stretches where I felt brought back to middle school, sitting in the back of a dark class room with visible chalk dust hanging in the air with someone droning on in the front of the room, a nightmare from which I yearned to leave。 That said, my reading preferences are very particular and someone who enjoys reading for the sake of reading may experience this book very differently from me。 。。。more

Alli Treman

Writing is so dry and terrible。

Ka Ming

The author tried to demonstrate the idea of algorithm and related computer sciences topics through story examples。 I think for the algorithm part, the book can discuss it quite well。 But for the latter part, I just feel kind of losing focus and the story examples seem cannot tell the computer science ideas quite well。 But anyway, it is a good book for those who want to know more about algorithm and computer sciences。

Zera

I think it is supposed to be a simple introduction to some of the computer science concepts。 But I found it pretty confusing at times, especially the recursion part。 Overall, it was fine, but there are lots of parts which can be improved。

Konrad Piłatowicz

Jak zauważa sam autor książki, podczas próby przybliżenia czym zajmuje się informatyka jako nauka, napotykamy problem w postaci wyjaśnienia podstawowych pojęć jakimi są algorytmy czy przetwarzanie informacji。 Pojęcia te są z natury abstrakcyjne i nie dają się ująć w jedną jasną definicję。 Autor książki, Martin Erwig, Profesor Informatyki na Uniwersytecie stanu Oregon, w swojej trzeciej książce podejmuje próbę opisania tych zagadnień używając porównań do życia codziennego jak również bajek czy od Jak zauważa sam autor książki, podczas próby przybliżenia czym zajmuje się informatyka jako nauka, napotykamy problem w postaci wyjaśnienia podstawowych pojęć jakimi są algorytmy czy przetwarzanie informacji。 Pojęcia te są z natury abstrakcyjne i nie dają się ująć w jedną jasną definicję。 Autor książki, Martin Erwig, Profesor Informatyki na Uniwersytecie stanu Oregon, w swojej trzeciej książce podejmuje próbę opisania tych zagadnień używając porównań do życia codziennego jak również bajek czy odniesień do kultury popularnej。Wszyscy wiemy jak ważną rolę odgrywają w naszym życiu opowieści。 Niosą ważne przesłania i naukę, które towarzysząc nam przez całe życie zmieniają nasz sposób postrzegania świata。 Mają tę unikalną cechę objaśniania zagadnień zbyt trudnych lub złożonych aby je wyrazić w prosty sposób。 W książce, „Dawno temu był sobie algorytm。 Czyli jak książki, filmy i życie codzienne wyjaśniają nam dziedzinę algorytmów”, autor skorzystał z tej właśnie cechy opowieści。 Prowadząc czytelnika poprzez meandry skomplikowanych zagadnień, za pomocą bajek objaśnia te koncepcje jedna po drugiej。 Dzięki temu zabiegowi podejmuje próbę wzbudzenia zainteresowania informatyką wśród szerszej publiczności。W swojej książce Erwig odnosi się do popkultury w postaci bajki o „Jasiu i Małgosi”, filmu „Dzień Świstaka” czy książek o Harrym Potterze。 Ten zabieg wyróżnia tę pozycję czytelniczą wśród innych tekstów wprowadzających czytelnika w świat informatyki。 Na rynku dostępnych jest wiele książek z kategorii „nie tylko dla orłów”, jednak żadna z nich nie używa tak zapadających w pamięć przykładów i odniesień。Większość materiałów tego typu ma za zadanie pokazać praktyczne zastosowania omawianych zagadnień。 Dzięki licznym przykładom, czytelnicy zdobywają konkretne umiejętności。 Książka „Dawno temu był sobie Algorytm” służy innym celom。 Celem autora było przedstawienie pewnych teorii i koncepcji, przez co należy ją traktować raczej jako obszerne kompendium wiedzy teoretycznej niż poradnik czy podręcznik。Erwig rozpoczyna swoją książkę od znanej bajki o Jasiu i Małgosi, na podstawie której objaśnia koncepcje algorytmu i przetwarzania。 Zgodnie z opowieścią Jaś i Małgosia, zagubieni w lesie próbują odnaleźć drogę do domu。 Aby osiągnąć swój cel muszą uruchomić proces rozwiązywania problemu。 Jaś wpada na pomysł oznaczenia drogi poprzez upuszczanie wcześniej nazbieranych kamyków。 Dzięki temu zabiegowi, rodzeństwo szczęśliwie odnajduje drogę do domu rodziców。Algorytm pozwala rozwiązać ten sam problem。 Dzięki metodzie „krok po kroku” pozwala odnaleźć drogę z punktu A do punktu B。 Podobnie jak w przypadku bajki algorytm potrzebuje jakiegoś zakończenia aby móc oszacować poprawność działania。 W odniesieniu do bajki było to odnalezienie właściwego domu co oznacza proces zakończony sukcesem。W późniejszym rozdziale, za pomocą przykładu z życia wziętego, autor objaśnia w jaki sposób algorytmy są podobne do naszych codziennych działań。 Za przykład posłużyło składanie papieru tak aby zmieścił się do koperty。 Takie działanie przypomina algorytm, którego podstawową własnością jest powtarzalność。 Aby uniknąć nieskończonego powtarzania czynności potrzebny jest opis tej powtarzalności i struktury sterujące takie jak pętla。 Przykład wyjaśniającym działanie pętli jest film „Dzień Świstaka” W filmie Harolda Ramisa pod tytułem „Dzień Świstaka” z 1993 roku, reporter Phil Connors zostaje uwięziony w pętli powtarzającego się bez końca dnia。 Bohater podejmując różne próby przerwania cyklu, ostatecznie odkrywa, że aby zakończyć dzień świstaka musi zmienić swoje podejście do życia i ludzi。 Takie właśnie warunki zakończenia muszą zostać określone dla każdej pętli algorytmu。Oprócz koncepcji przetwarzania, algorytmu i pętli autor, za pomocą sytuacji z życia oraz historii Harrego Pottera wyjaśnia działanie typów。 Dzięki typom jesteśmy w stanie kategoryzować obiekty i zależności między nimi。 Jeśli podczas kolacji, do zjedzenia zupy użylibyśmy widelca zamiast łyżki wtedy naruszylibyśmy zasady relacji między typami wywołując tym samym błąd typu。 Dzięki analogii do Harrego Pottera możemy dowiedzieć się czym są właściwości danych typów。 Podobnie jak w historii J。K。 Rowling gdzie ludzie dzielą się na czarodziejów i mugoli, co jest nie tylko nazwą kategorii ale wiąże się z charakterystyką postaci tak w przypadku algorytmów typy są powiązane z ich właściwościami co służy nie tylko kategoryzacji ale również określa oczekiwania w procesie przetwarzania。Ciekawy zabieg wplecenia bajek, codziennych sytuacji oraz odniesień popkulturowych jest zarówno zaletą jak i wadą tej pozycji。 Z jednej strony takie rozwiązanie pozwala nam się cieszyć ciekawymi porównaniami i łatwymi do zrozumienia przykładami。 Z drugiej jednak tworzy w umyśle czytelnika potrzebę podążania za jakąś narracją, której tu ewidentnie brakuje。 Styl autora jest raczej akademicki, więc zwykły czytelnik może się nieco pogubić w treści。 Warto nadmienić, że autor dodał mały przewodnik na początku książki ułatwiający poruszanie się po niej。„Dawno temu był sobie algorytm。 Czyli jak książki, filmy i życie codzienne wyjaśniają nam dziedzinę algorytmów” można zdecydowanie polecić osobie, która nie miała wcześniej do czynienia z Informatyką jako nauką a chciałaby się dowiedzieć więcej na temat jej teoretycznych podstaw。 Ze względu na złożoną naturę podnoszonych przez autora zagadnień, niektóre fragmenty będą wymagały od czytelnika więcej uwagi。 Natomiast, użycie prostych przykładów oraz licznych popkulturowych odniesień powoduje, że jest to interesująca pozycja, która może sprawić wiele radości。Konrad Piłatowicz 。。。more

William Yip

This book was not what I expected based on the cover and description。 I thought the technical details would be integrated into the stories told but the author separated the two with the stories being tangentially related to the details。 As a result, a lot of the content had a very dry tone and was a slog to get through。 That said, the author gave good information about the fundamentals of computer science and programming such as abstractions, algorithms, signs and representations, loops, recursi This book was not what I expected based on the cover and description。 I thought the technical details would be integrated into the stories told but the author separated the two with the stories being tangentially related to the details。 As a result, a lot of the content had a very dry tone and was a slog to get through。 That said, the author gave good information about the fundamentals of computer science and programming such as abstractions, algorithms, signs and representations, loops, recursion, data types, among other topics。 。。。more

Anil

Don't attempt to read it, unless you accumulate some knowledge about algorithms。 Without any programmable examples it's very hard to grasp hard theoretical concepts described here。 Don't attempt to read it, unless you accumulate some knowledge about algorithms。 Without any programmable examples it's very hard to grasp hard theoretical concepts described here。 。。。more

Georgia Gouros

I'll be using some of these easily digestible narratives for teaching computer science, a very nice source of analogies and cultural references for presenting new theory to students。 I'll be using some of these easily digestible narratives for teaching computer science, a very nice source of analogies and cultural references for presenting new theory to students。 。。。more

Carbonbased Bookworm

Very interesting and adorable intro to computer science。

Wanda ❣️

I'm sure I'll be coming back to this over the course of the year as I work through my Data Structures class。 I'm sure I'll be coming back to this over the course of the year as I work through my Data Structures class。 。。。more

Benjamin Torres

The book is a great introduction to various computing and coding concepts, and all the analogies and stories do make sense and help comprehend and remember the topics。The stories are all (or at least almost) universally known and some are targeted to a geeky audience (like the book itself)。 You get to learn all different kinds of algorithms through Sherlock holmes, Harry Potter, Back to the Future, The groundhog day, Hansel & Gretel, etc。I liked the book very much and I would have given it 4 sta The book is a great introduction to various computing and coding concepts, and all the analogies and stories do make sense and help comprehend and remember the topics。The stories are all (or at least almost) universally known and some are targeted to a geeky audience (like the book itself)。 You get to learn all different kinds of algorithms through Sherlock holmes, Harry Potter, Back to the Future, The groundhog day, Hansel & Gretel, etc。I liked the book very much and I would have given it 4 stars, however, this is the kind of book you lose a lot in the audio version, and I found myself having to pause and rewind a lot of the complicated parts。 。。。more

Patrick

Interesting "pop-sci" treatment of foundational computer science concepts。 I'll pull some of these ideas the next time I teach the intro programming courses。 Recommended。 Interesting "pop-sci" treatment of foundational computer science concepts。 I'll pull some of these ideas the next time I teach the intro programming courses。 Recommended。 。。。more

Jan Argasiński

Męczące。

Lindsay

I was very intrigued with the idea of this book, and I really wanted to love it。 Unfortunately, it overpromises and underdelivers。 I would describe this as a computer science textbook that employs examples from pop culture, but some of the examples don't carry the concepts through the entirety of their respective chapters very well。 For example, the song from The Wizard of Oz irritated me because any song could work。 There is an introduction to each chapter, which seems like a good place to begi I was very intrigued with the idea of this book, and I really wanted to love it。 Unfortunately, it overpromises and underdelivers。 I would describe this as a computer science textbook that employs examples from pop culture, but some of the examples don't carry the concepts through the entirety of their respective chapters very well。 For example, the song from The Wizard of Oz irritated me because any song could work。 There is an introduction to each chapter, which seems like a good place to begin the "story" examples, but, instead, the author uses everyday examples。 The examples aren't bad, but it's just a strange choice given the premise of the book。 Each chapter also ends with a short section called "Further Exploration," which provides other examples to reflect on。 As an instructor, what I would do is investigate those examples to use in the classroom, etc。 Unfortunately, after the first couple of chapters, it took a lot of willpower not to abandon this book。 I do think certain sections would be useful as a textbook, but, overall, it's dry。 While the writing is quite clear, it really needed a storyteller's touch。 I was disappointed after the first two chapters。 。。。more

Kevin Whitaker

Really fun idea, but the analogy kind of fell apart after the first couple chapters

Chris Esposo

Once Upon an Algorithm is an excellent introduction to the topic of algorithms that also manages to be functionally deep。 Martin Erwig’s pedagogy is unique in the marketplace of such introductory books on algorithms。 He situates his explanations in examples drawn from pop culture, including movies, books and folk-tales, explicating important concepts in algorithms along the way。 Many of the popular references are drawn from pop culture franchises that would be familiar to an American male who gr Once Upon an Algorithm is an excellent introduction to the topic of algorithms that also manages to be functionally deep。 Martin Erwig’s pedagogy is unique in the marketplace of such introductory books on algorithms。 He situates his explanations in examples drawn from pop culture, including movies, books and folk-tales, explicating important concepts in algorithms along the way。 Many of the popular references are drawn from pop culture franchises that would be familiar to an American male who grew up in the mid to late eighties or early nineties。 For example, a significant portion of his analogies, examples and stories are taken from the Indiana Jones trilogy, Back to the Future, Sherlock Holmes and the film Groundhog Day。The last chapter on basic type-theory in computing makes heavy use of the Harry Potter novels, but the majority of the aforementioned references would not typically be within the immediate cultural milieu of a younger audience, which I presume would be the target readership for a text such as this。 Or, perhaps, this is indeed aimed at late twenty and thirty something-year-old males, who wish to learn more about algorithms。 Such people may want to change careers, refresh their knowledge from earlier studies, expand their technical intuition because they are managing a technical team, or pick up some basic theory because they work in a field permeated by computing but never formally studied computer science。Despite the novelty of the approach, the topics covered are surprisingly standard: data structures, the specification of the problem-space and computation-space, NP-completeness, formal syntax and interpretation, control and logic points, recursion, and types。 Each section references a pop-culture theme。 For instance, we are taught about control and logic points with Groundhog Day, and we learn about search strategies and problem solving in the setting of Indiana Jones, while Marty McFly from Back to the Future is used to teach us about recursion。Almost all of these are great and insightful, but the Back to the Future chapter is the weakest because the example is potentially too opaque。 Time travel is already a topic prone to confound and so I think it may well make learning recursion a little more difficult by conflating it with this already heady notion。The most enjoyable chapters were those with Indiana Jones, which to be sure comprise a slightly out-sized portion of the content。 Here the author provides the deepest synthesis of the pop-culture and the computer science, as much of what he explains is how to solve a solution space efficiently to resolve a problem from the film。 In Indiana Jones and the Last Crusade, did Indiana really have to step on the “J” or “I” first when he was trying to “walk the word of God”, which was supposed to spell the Latinized tetragram of “JHVH”? Was there an alternative way Indy could have minimized the chance of failing based on candidate solutions?I found myself refining my own understanding of these topics when thinking about some of my favorite stories in this newfound light。 But again, I shouldn’t be the target audience for a book like this, and so the book may have better served the market if it had chosen more recent pop-culture references。 That being said, I enjoyed this book so much on its own merits, whatever its intent, that I’m glad they did pick the examples chosen。This book is definitely a great companion to a more formal algorithms text。 It also works well as a general book for intelligent readers to get a better understanding of the subject of algorithms that not only explains the ideas but also provides mental exercises to build functional knowledge。 Highly recommended for all。 。。。more

Franklyn Gonzalez

A great explanation on how algorithms work, when used in movies, shows, and popular children stories as examples。 The idea here is to understand how programs work。 How computer science came to be (the beginning of this book)。

Luis Lastra

143 highlights en este libro。。。 ¡eso resume, sin duda, lo que pienso de él!。 Una maravilla de apertura de ojos y mente ante lo que son las bases de la Ciencia de la Computación。 Muy bien explicado, con un léxico totalmente comprensible y con ejemplos muy ñoños que te iluminan las ganas de seguir adelante。Un "must read" para todo neófito o experimentado en estos menesteres。Gracias, Martin。 Excelente trabajo。 143 highlights en este libro。。。 ¡eso resume, sin duda, lo que pienso de él!。 Una maravilla de apertura de ojos y mente ante lo que son las bases de la Ciencia de la Computación。 Muy bien explicado, con un léxico totalmente comprensible y con ejemplos muy ñoños que te iluminan las ganas de seguir adelante。Un "must read" para todo neófito o experimentado en estos menesteres。Gracias, Martin。 Excelente trabajo。 。。。more

Jay

A couple of years ago I read a similar book, Christian’s “Algorithms To Live By: The Computer Science of Human Decisions”。 It overlapped with this book by about 40% in terms of what was covered – search algorithms being a major common topic。 The difference is that Christian’s book was focused on applying algorithms to personal decisions and Erwig’s book was focused on teaching computer science terminology。 Both used stories to do this – Christian uses anecdotes, where Erwig uses comparisons to m A couple of years ago I read a similar book, Christian’s “Algorithms To Live By: The Computer Science of Human Decisions”。 It overlapped with this book by about 40% in terms of what was covered – search algorithms being a major common topic。 The difference is that Christian’s book was focused on applying algorithms to personal decisions and Erwig’s book was focused on teaching computer science terminology。 Both used stories to do this – Christian uses anecdotes, where Erwig uses comparisons to movies and books。 I found Christian’s book entertaining and memorable。 I didn’t enjoy Erwig’s as much, but on reflection that's in large part due to the goals of the book - personal use of algorithms versus concept learning。 The examples he used were mostly not uniquely appropriate, or seemed a bit of a stretch。 For instance, he uses Sherlock Holmes to explain some search algorithms, but this seemed not the best example to me。 There are so many alternatives that tell the story。 Then with recursion he uses the movie “Groundhogs Day”。 This seems quite obvious。 (I will say that I appreciated his listings of different movies/books that had repeating days and the different “rules of science” those replays had – I have noticed that and have written about that as well。) The book starts with an example from Hansel and Gretel of using shiny stones to find their way back home, and drilled down to how Hansel made each individual decision on how to proceed。 I was surprised that the author had so few different examples illustrating the computer science and math concepts。 I’d say about half of the book was very basic computer science lecture without comparison to a particular story, and half was using one of a few stories to help illustrate a concept。 Personally, as someone who has taken many computer science classes, the concepts were not new to me, and the book didn’t seem that helpful for learning new concepts。 The terminology was still difficult covered as completely as the author has done here。 I expect this book was aimed at the textbook market for the Computer Science version of the “Physics for Poets” classes at university。 I will also add that I listened to the audiobook version of this book, and did not have the graphics available。 I found the book confusing at times, and I believe the audiobook format was a hindrance here。 This might not have been the best way to learn from this book。 。。。more

FRANCISCO GOMEZ GARCIA

A new way to explain algorithms, computing and programming languages。 Entertaining and easy to follow in explanations。

Julie Moronuki

A bit torn over how many stars to give。 On the one hand, the concept is great and it is mostly very well executed。 The breadth of material covered here and the way it is all brought together in the final chapter is astonishing, and most of the time the explanations are clear and often memorable。 Presenting aspects of computation through stories and relatable "everyday life" vignettes makes difficult concepts digestible。 Kudos to the author for that。 There are a lot of diagrams as well and some a A bit torn over how many stars to give。 On the one hand, the concept is great and it is mostly very well executed。 The breadth of material covered here and the way it is all brought together in the final chapter is astonishing, and most of the time the explanations are clear and often memorable。 Presenting aspects of computation through stories and relatable "everyday life" vignettes makes difficult concepts digestible。 Kudos to the author for that。 There are a lot of diagrams as well and some are extremely helpful -- others were, for me, terribly confusing。 I had a hard time following some of the diagrams illustrating recursion and grammars even though these are concepts I am fairly well versed in。 However, I think the book's successes far outweigh it's few rough patches。 Will be using this with my teenager in homeschool as well and am excited to see how he does with it。 。。。more

Odo

2。5/5。0

Kaley Rhea

I like this book as a textbook。 I can recommend it as a textbook。 It's really not as approachable as the concept (which is fantastic) led me to believe。 I'd have had a great time with it if it had been required or supplemental reading for a class back in the college days。 But as it was, it really took some gear-changing for me to get my head into what I had thought would be very basic, layman's terms, talk-to-me-like-I'm-five reading about computing。 I like this book as a textbook。 I can recommend it as a textbook。 It's really not as approachable as the concept (which is fantastic) led me to believe。 I'd have had a great time with it if it had been required or supplemental reading for a class back in the college days。 But as it was, it really took some gear-changing for me to get my head into what I had thought would be very basic, layman's terms, talk-to-me-like-I'm-five reading about computing。 。。。more

Margaret Lozano

This book really hits all the right notes in terms of making programming and computing concepts accessible to almost anyone。 I'd highly recommend this book to those whose strengths lie in the social sciences。。。and to computer scientists who want to know how to talk to us! Many of the "stories" are also excellent companion tools for introducing computing to junior high/highschool/University students in a relatable way。 This book really hits all the right notes in terms of making programming and computing concepts accessible to almost anyone。 I'd highly recommend this book to those whose strengths lie in the social sciences。。。and to computer scientists who want to know how to talk to us! Many of the "stories" are also excellent companion tools for introducing computing to junior high/highschool/University students in a relatable way。 。。。more

Ravi Sinha

A very promising premise, combined with solid effort, of explaining the jargon of computer science to the layman with the help of fairy tale stories and everyday things。 While I enjoyed it because of my background, though, I am not entirely sure how well it's going to go over to the 'other wide', that is to people with no background in computer science (or some kind of science, or gaming, or things of that nature), because the language of the book often does come across as geek-speak。 A very promising premise, combined with solid effort, of explaining the jargon of computer science to the layman with the help of fairy tale stories and everyday things。 While I enjoyed it because of my background, though, I am not entirely sure how well it's going to go over to the 'other wide', that is to people with no background in computer science (or some kind of science, or gaming, or things of that nature), because the language of the book often does come across as geek-speak。 。。。more

Filip

Yawn

Skye

This would be a fantastic book to supplement an introductory computer science course - for pleasure reading, however, it was a little dry and hard to stay awake through。 I appreciated how it was able to present computing concepts in a form wholly separate from computers and digital space。 And of course having popular stories like Harry Potter and Indiana Jones as the examples was fun。

Tim Gorichanaz

Am I beginning to understand algorithms?